<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>Open Event Machine API: event_machine.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">Open Event Machine API
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('event__machine_8h_source.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">event_machine.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="event__machine_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *   Copyright (c) 2012, Nokia Siemens Networks</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *   All rights reserved.</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *   Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *   modification, are permitted provided that the following conditions are met:</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *       * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *         notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *       * Redistributions in binary form must reproduce the above copyright</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *         notice, this list of conditions and the following disclaimer in the</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *         documentation and/or other materials provided with the distribution.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *       * Neither the name of Nokia Siemens Networks nor the</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *         names of its contributors may be used to endorse or promote products</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *         derived from this software without specific prior written permission.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> *   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> *   DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> *   DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> *   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> *   LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> *   ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> *   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#ifndef EVENT_MACHINE_H</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define EVENT_MACHINE_H</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"><a class="code" href="event__machine_8h.html#a07c497e9f8ae9053547af50c62cce153">   43</a></span>&#160;<span class="preprocessor">#define EM_API_VERSION_MAJOR 1     </span></div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="code" href="event__machine_8h.html#a22170090d4e6faac09b474d39e6f07b1">   44</a></span>&#160;<span class="preprocessor">#define EM_API_VERSION_MINOR 0     </span></div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;<span class="preprocessor"></span><span class="comment">/* Basic EM types and HW configuration */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#include &lt;<a class="code" href="event__machine__types_8h.html" title="Event Machine basic types.">event_machine_types.h</a>&gt;</span></div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;</div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="comment">/* HW specific EM types */</span></div>
<div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;<span class="preprocessor">#include &lt;event_machine_hw_types.h&gt;</span></div>
<div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;</div>
<div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;</div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="structem__notif__t.html">  163</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structem__notif__t.html" title="Event.">em_notif_t</a></div>
<div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;{</div>
<div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="structem__notif__t.html#af11de4e82ee78d6222a18ba93ffefa11">  165</a></span>&#160;  em_event_t  <a class="code" href="structem__notif__t.html#af11de4e82ee78d6222a18ba93ffefa11" title="User defined notification event.">event</a>;  </div>
<div class="line"><a name="l00166"></a><span class="lineno"><a class="code" href="structem__notif__t.html#a1264d8b918729d1c703571289ea56f25">  166</a></span>&#160;  <a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a>  <a class="code" href="structem__notif__t.html#a1264d8b918729d1c703571289ea56f25" title="Destination queue.">queue</a>;  </div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;} <a class="code" href="structem__notif__t.html" title="Event.">em_notif_t</a>;</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;<span class="comment"> * From Event Machine to application interface (call-back functions)</span></div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="comment"> * ----------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;<span class="comment"> * </span></div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div>
<div class="line"><a name="l00211"></a><span class="lineno"><a class="code" href="event__machine_8h.html#af132a04504b399fd5f59521f4f16306f">  211</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="event__machine_8h.html#af132a04504b399fd5f59521f4f16306f" title="Receive event.">em_receive_func_t</a>)(<span class="keywordtype">void</span>* eo_ctx, em_event_t event, <a class="code" href="event__machine__types_8h.html#a2f5b3fb43add8103da34b52cc1d0f2cc" title="Event type.">em_event_type_t</a> type, <a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue, <span class="keywordtype">void</span>* q_ctx);</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
<div class="line"><a name="l00237"></a><span class="lineno"><a class="code" href="event__machine_8h.html#ac6c4b00c8090f4ef144d8b83c0474dbf">  237</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> (*<a class="code" href="event__machine_8h.html#ac6c4b00c8090f4ef144d8b83c0474dbf" title="Execution object start, global.">em_start_func_t</a>)(<span class="keywordtype">void</span>* eo_ctx, <a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo);</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div>
<div class="line"><a name="l00262"></a><span class="lineno"><a class="code" href="event__machine_8h.html#a77d089f1612b0322a4afea9251019576">  262</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> (*<a class="code" href="event__machine_8h.html#a77d089f1612b0322a4afea9251019576" title="Execution object start, core local.">em_start_local_func_t</a>)(<span class="keywordtype">void</span>* eo_ctx, <a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo);</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;</div>
<div class="line"><a name="l00284"></a><span class="lineno"><a class="code" href="event__machine_8h.html#ad402338b2b52bff31bd84ba7b4e1434c">  284</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> (*<a class="code" href="event__machine_8h.html#ad402338b2b52bff31bd84ba7b4e1434c" title="Execution object stop, core local.">em_stop_local_func_t</a>)(<span class="keywordtype">void</span>* eo_ctx, <a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo);</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;</div>
<div class="line"><a name="l00309"></a><span class="lineno"><a class="code" href="event__machine_8h.html#a0057112dd786c5f667bf42a424679c89">  309</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> (*<a class="code" href="event__machine_8h.html#a0057112dd786c5f667bf42a424679c89" title="Execution object stop, global.">em_stop_func_t</a>)(<span class="keywordtype">void</span>* eo_ctx, <a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo);</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div>
<div class="line"><a name="l00336"></a><span class="lineno"><a class="code" href="event__machine_8h.html#a41d418a82bfc4e80f7ad5ae73d5a4bd9">  336</a></span>&#160;<span class="keyword">typedef</span> <a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> (*<a class="code" href="event__machine_8h.html#a41d418a82bfc4e80f7ad5ae73d5a4bd9" title="Error handler.">em_error_handler_t</a>)(<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo, <a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> error, <a class="code" href="event__machine__types_8h.html#a5b0a5fb6ffe7f0fdb90caa388070dff3" title="Error scope.">em_escope_t</a> escope, va_list args);</div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;<span class="comment"> * HW specific init and inlined functions</span></div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;<span class="preprocessor">#include &lt;event_machine_hw_specific.h&gt;</span></div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;</div>
<div class="line"><a name="l00345"></a><span class="lineno">  345</span>&#160;</div>
<div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;<span class="comment"> * From application to Event Machine interface</span></div>
<div class="line"><a name="l00350"></a><span class="lineno">  350</span>&#160;<span class="comment"> * ----------------------------------------------------------------------------</span></div>
<div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;<a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> <a class="code" href="event__machine_8h.html#a15c0cb536f8c7c01692ccea07908944a" title="Create a new queue with a dynamic queue id.">em_queue_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="event__machine__types_8h.html#a093428598166c7c5d40351bc60809894" title="Queue type.">em_queue_type_t</a> type, <a class="code" href="event__machine__types_8h.html#a1d3594d8e5e36f7b84796a99d7feee9a" title="Queue priority class.">em_queue_prio_t</a> prio, <a class="code" href="event__machine__types_8h.html#a83c306852adcd934bc159b719fe482e3" title="Queue group identifier.">em_queue_group_t</a> group);</div>
<div class="line"><a name="l00371"></a><span class="lineno">  371</span>&#160;</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#a52052c19a6707a90fcb4bbc0e1b14742" title="Create a new queue with a static queue id.">em_queue_create_static</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <a class="code" href="event__machine__types_8h.html#a093428598166c7c5d40351bc60809894" title="Queue type.">em_queue_type_t</a> type, <a class="code" href="event__machine__types_8h.html#a1d3594d8e5e36f7b84796a99d7feee9a" title="Queue priority class.">em_queue_prio_t</a> prio, <a class="code" href="event__machine__types_8h.html#a83c306852adcd934bc159b719fe482e3" title="Queue group identifier.">em_queue_group_t</a> group, <a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue);</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#a2a28907b18b348cbb153431c35af5752" title="Delete a queue.">em_queue_delete</a>(<a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue);</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#adcbab74b22ffcb629bdf797704ac2706" title="Enable event scheduling for the queue.">em_queue_enable</a>(<a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue);</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#a45770f25aedc6e5d0382da90edf3a19f" title="Enable event scheduling for all the EO&#39;s queues.">em_queue_enable_all</a>(<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo);</div>
<div class="line"><a name="l00440"></a><span class="lineno">  440</span>&#160;</div>
<div class="line"><a name="l00465"></a><span class="lineno">  465</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#acdce4fad7d09036e325ad53fa1204961" title="Disable scheduling for the queue.">em_queue_disable</a>(<a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue, <span class="keywordtype">int</span> num_notif, <span class="keyword">const</span> <a class="code" href="structem__notif__t.html" title="Event.">em_notif_t</a>* notif_tbl);</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;</div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#a7d5f1685b7155e443d70a59eeb507aad" title="Disable scheduling for all the EO&#39;s queues.">em_queue_disable_all</a>(<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo, <span class="keywordtype">int</span> num_notif, <span class="keyword">const</span> <a class="code" href="structem__notif__t.html" title="Event.">em_notif_t</a>* notif_tbl);</div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#a83e001b62c2a87bf862fbf695c5e84fa" title="Set queue specific (application) context.">em_queue_set_context</a>(<a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue, <span class="keyword">const</span> <span class="keywordtype">void</span>* context);</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;</div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;<span class="keywordtype">void</span>* <a class="code" href="event__machine_8h.html#a65850427f68c8c73e09fbf325190c31c" title="Get queue specific (application) context.">em_queue_get_context</a>(<a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue);</div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;</div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;<span class="keywordtype">size_t</span> <a class="code" href="event__machine_8h.html#a973db0375534e9a4a16a7c9a305573bf" title="Get queue name.">em_queue_get_name</a>(<a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue, <span class="keywordtype">char</span>* name, <span class="keywordtype">size_t</span> maxlen);</div>
<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;</div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;<a class="code" href="event__machine__types_8h.html#a1d3594d8e5e36f7b84796a99d7feee9a" title="Queue priority class.">em_queue_prio_t</a> <a class="code" href="event__machine_8h.html#a05a93ba11dee6ee28519897d5523831e" title="Get queue priority.">em_queue_get_priority</a>(<a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue);</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;<a class="code" href="event__machine__types_8h.html#a093428598166c7c5d40351bc60809894" title="Queue type.">em_queue_type_t</a> <a class="code" href="event__machine_8h.html#ab125a473b889ca79b3d0fab51d27f7b9" title="Get queue type (scheduling mode).">em_queue_get_type</a>(<a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue);</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;<a class="code" href="event__machine__types_8h.html#a83c306852adcd934bc159b719fe482e3" title="Queue group identifier.">em_queue_group_t</a> <a class="code" href="event__machine_8h.html#acab36f3033ecd8d67e56433605eb4648" title="Get queue&#39;s queue group.">em_queue_get_group</a>(<a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue);</div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;</div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;<a class="code" href="event__machine__types_8h.html#a83c306852adcd934bc159b719fe482e3" title="Queue group identifier.">em_queue_group_t</a> <a class="code" href="event__machine_8h.html#adbdbc7cadcd97ceae5682710965e16fd" title="Create a new queue group to control queue to core mapping.">em_queue_group_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name, <span class="keyword">const</span> <a class="code" href="unionem__core__mask__t.html" title="Type for queue group core mask.">em_core_mask_t</a>* mask, <span class="keywordtype">int</span> num_notif, <span class="keyword">const</span> <a class="code" href="structem__notif__t.html" title="Event.">em_notif_t</a>* notif_tbl);</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;</div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#aa4449ab79c23f34a10a0b48563209bf7" title="Delete the queue group.">em_queue_group_delete</a>(<a class="code" href="event__machine__types_8h.html#a83c306852adcd934bc159b719fe482e3" title="Queue group identifier.">em_queue_group_t</a> group, <span class="keywordtype">int</span> num_notif, <span class="keyword">const</span> <a class="code" href="structem__notif__t.html" title="Event.">em_notif_t</a>* notif_tbl);</div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;</div>
<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#a0492f11dfb4c5d2f8bb5d6ed12cf2552" title="Modify core mask of an existing queue group.">em_queue_group_modify</a>(<a class="code" href="event__machine__types_8h.html#a83c306852adcd934bc159b719fe482e3" title="Queue group identifier.">em_queue_group_t</a> group, <span class="keyword">const</span> <a class="code" href="unionem__core__mask__t.html" title="Type for queue group core mask.">em_core_mask_t</a>* new_mask, <span class="keywordtype">int</span> num_notif, <span class="keyword">const</span> <a class="code" href="structem__notif__t.html" title="Event.">em_notif_t</a>* notif_tbl);</div>
<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;</div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;<a class="code" href="event__machine__types_8h.html#a83c306852adcd934bc159b719fe482e3" title="Queue group identifier.">em_queue_group_t</a> <a class="code" href="event__machine_8h.html#a17b2712720cfb7a5875ad21deb39b565" title="Finds queue group by name.">em_queue_group_find</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name);</div>
<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;</div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#a6aa01616d680139b3fe321a3c4dacc1d" title="Get current core mask for a queue group.">em_queue_group_mask</a>(<a class="code" href="event__machine__types_8h.html#a83c306852adcd934bc159b719fe482e3" title="Queue group identifier.">em_queue_group_t</a> group, <a class="code" href="unionem__core__mask__t.html" title="Type for queue group core mask.">em_core_mask_t</a>* mask);</div>
<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;</div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> <a class="code" href="event__machine_8h.html#a196c7caa1177575fd424e9a0d2854da6" title="Create Execution Object (EO).">em_eo_create</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* name,</div>
<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;                     <a class="code" href="event__machine_8h.html#ac6c4b00c8090f4ef144d8b83c0474dbf" title="Execution object start, global.">em_start_func_t</a> start,</div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;                     <a class="code" href="event__machine_8h.html#a77d089f1612b0322a4afea9251019576" title="Execution object start, core local.">em_start_local_func_t</a> local_start,</div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;                     <a class="code" href="event__machine_8h.html#a0057112dd786c5f667bf42a424679c89" title="Execution object stop, global.">em_stop_func_t</a> stop,</div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160;                     <a class="code" href="event__machine_8h.html#ad402338b2b52bff31bd84ba7b4e1434c" title="Execution object stop, core local.">em_stop_local_func_t</a> local_stop,</div>
<div class="line"><a name="l00716"></a><span class="lineno">  716</span>&#160;                     <a class="code" href="event__machine_8h.html#af132a04504b399fd5f59521f4f16306f" title="Receive event.">em_receive_func_t</a> receive,</div>
<div class="line"><a name="l00717"></a><span class="lineno">  717</span>&#160;                     <span class="keyword">const</span> <span class="keywordtype">void</span>* eo_ctx);</div>
<div class="line"><a name="l00718"></a><span class="lineno">  718</span>&#160;</div>
<div class="line"><a name="l00719"></a><span class="lineno">  719</span>&#160;</div>
<div class="line"><a name="l00737"></a><span class="lineno">  737</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#ae769b19e613b24487beb943cfb926977" title="Delete Execution Object (EO).">em_eo_delete</a>(<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo);</div>
<div class="line"><a name="l00738"></a><span class="lineno">  738</span>&#160;</div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160;<span class="keywordtype">size_t</span> <a class="code" href="event__machine_8h.html#ae4fbadae4cc0158b24fdcdb6cf5e04fe" title="Returns the name given to the EO when it was created.">em_eo_get_name</a>(<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo, <span class="keywordtype">char</span>* name, <span class="keywordtype">size_t</span> maxlen);</div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#a681c9d79f7ca5c0590030f74357472c0" title="Add a queue to an EO.">em_eo_add_queue</a>(<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo, <a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue);</div>
<div class="line"><a name="l00775"></a><span class="lineno">  775</span>&#160;</div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#a6c47c33e158c209480d485a1b8d4e72f" title="Removes a queue from an EO.">em_eo_remove_queue</a>(<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo, <a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue, <span class="keywordtype">int</span> num_notif, <span class="keyword">const</span> <a class="code" href="structem__notif__t.html" title="Event.">em_notif_t</a>* notif_tbl);</div>
<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;</div>
<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#a1020917f6061bf56da36773946eece72" title="Register EO specific error handler.">em_eo_register_error_handler</a>(<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo, <a class="code" href="event__machine_8h.html#a41d418a82bfc4e80f7ad5ae73d5a4bd9" title="Error handler.">em_error_handler_t</a> handler);</div>
<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;</div>
<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#ac4e1fcce506b682f44f808b2c027311f" title="Unregister EO specific error handler.">em_eo_unregister_error_handler</a>(<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo);</div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;</div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#a97445f266a00782bb23fc2c464533d6d" title="Start Execution Object (EO).">em_eo_start</a>(<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo, <a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> *result, <span class="keywordtype">int</span> num_notif, <span class="keyword">const</span> <a class="code" href="structem__notif__t.html" title="Event.">em_notif_t</a>* notif_tbl);</div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;</div>
<div class="line"><a name="l00890"></a><span class="lineno">  890</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#ae55868eb38108620ed37e22038d0d404" title="Stop Execution Object (EO).">em_eo_stop</a>(<a class="code" href="event__machine__types_8h.html#a1d373bd8469414626259c3ea14b5ee2a" title="Execution Object identifier.">em_eo_t</a> eo, <span class="keywordtype">int</span> num_notif, <span class="keyword">const</span> <a class="code" href="structem__notif__t.html" title="Event.">em_notif_t</a>* notif_tbl);</div>
<div class="line"><a name="l00891"></a><span class="lineno">  891</span>&#160;</div>
<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;<span class="keywordtype">int</span> <a class="code" href="event__machine_8h.html#a13d21af31382ec2c3d45010645707e9c" title="Logical core id.">em_core_id</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;</div>
<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;<span class="keywordtype">int</span> <a class="code" href="event__machine_8h.html#a84fa6ec801b82a586ff5e31693d3deb8" title="The number of cores running within the same EM instance (sharing the EM state).">em_core_count</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;</div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;em_event_t <a class="code" href="event__machine_8h.html#a22fcb41f303628eebe4f0b45b6c64ab0" title="Allocate an event.">em_alloc</a>(<span class="keywordtype">size_t</span> size, <a class="code" href="event__machine__types_8h.html#a2f5b3fb43add8103da34b52cc1d0f2cc" title="Event type.">em_event_type_t</a> type, <a class="code" href="event__machine__types_8h.html#aded70bd6da9a02c082e82e56742a319e" title="Memory pool id.">em_pool_id_t</a> pool_id);</div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;</div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;<span class="keywordtype">void</span> <a class="code" href="event__machine_8h.html#ad4f97ba217518d967f8078c56023c4d4" title="Free an event.">em_free</a>(em_event_t event);</div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;</div>
<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#aca4584a01b71429dfbb045342454b464" title="Send an event to a queue.">em_send</a>(em_event_t event, <a class="code" href="event__machine__types_8h.html#a43cb5a167efa542d81180a54915d99bf" title="Queue identifier.">em_queue_t</a> queue);</div>
<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;</div>
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>&#160;<span class="keywordtype">void</span> <a class="code" href="event__machine_8h.html#af80e7173968f134ff3a9df6509c17009" title="Release atomic processing context.">em_atomic_processing_end</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160;</div>
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#af7332965c5deaa69411136e8d36089c6" title="Register the global error handler.">em_register_error_handler</a>(<a class="code" href="event__machine_8h.html#a41d418a82bfc4e80f7ad5ae73d5a4bd9" title="Error handler.">em_error_handler_t</a> handler);</div>
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>&#160;</div>
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160;<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> <a class="code" href="event__machine_8h.html#ab6b469100e5f60670a742d944a6f530b" title="Unregister the global error handler.">em_unregister_error_handler</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>&#160;</div>
<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;<span class="keywordtype">void</span> <a class="code" href="event__machine_8h.html#a1d45cd3fa718f99bce956904b5e081de" title="Report an error.">em_error</a>(<a class="code" href="event__machine__types_8h.html#a125a101c5db94235eb758c8c32ab2628" title="Error/Status code.">em_status_t</a> error, <a class="code" href="event__machine__types_8h.html#a5b0a5fb6ffe7f0fdb90caa388070dff3" title="Error scope.">em_escope_t</a> escope, ...);</div>
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;</div>
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;</div>
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160;</div>
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;</div>
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;<span class="preprocessor"></span>}</div>
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>&#160;<span class="preprocessor">#endif // EVENT_MACHINE_H</span></div>
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>&#160;</div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="event__machine_8h.html">event_machine.h</a></li>
    <li class="footer">Generated on Wed Aug 7 2013 15:17:39 for Open Event Machine API by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.3.1 </li>
  </ul>
</div>
</body>
</html>
